package com.yvon.service.demo.spring.beans.factory.support;

import com.yvon.service.demo.spring.beans.BeansException;
import com.yvon.service.demo.spring.core.io.Resource;
import com.yvon.service.demo.spring.core.io.ResourceLoader;

import java.beans.Beans;

/**
 * bean定义信息读取器
 *
 * @author : Yvon
 * @since : 2022-12-06
 */
public interface BeanDefinitionReader {

    BeanDefinitionRegistry getRegistry();

    ResourceLoader getResourceLoader();

    void loadBeanDefinitions(Resource resource) throws BeansException;

    void loadBeanDefinitions(Resource... resources) throws BeansException;

    void loadBeanDefinitions(String location) throws BeansException;

    void loadBeanDefinitions(String... locations) throws BeansException;
}
